#ifndef METHOD_H
#define METHOD_H
#include <list>
#include <string>
#include <map>
#include "Type.h"
#include "Object.h"
#include "Image.h"
#include <vector>
class Class;
using namespace std;

class Method: public Object{
   public:
      Method(Image* image,string selector,Class* cls);
      string getSelector();
      virtual Object* execute(Image* i,Object* receiver,int argc,Object** argv)=0;
   protected:
      string selector;
      vector<Type*> args;
      Image* image;
};
Object* primitive_method_get_selector(Image* image,Object* self,int argc,Object** argv);
#endif
